(function (mui, $) {
var page = window.page = {}, shares = {}, ally = {};

var _Data = {'id':''}

// 根据ID取得商品信息，初始发页面
page.init = function (data) {
	var view = plus.webview.currentWebview();
	_Data.id = data.id;
	
	app.log('请求商品详情：', {'token':app.store('token'), 'id':data.id});
	plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Goods/Index/detail'),
		'data'     : {'token':app.store('token'), 'goods_id':_Data.id},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('取得商品详情：', res);
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('商品详情：', res);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg && plus.webview.currentWebview().isVisible()) { app.toast(res.msg); }
		// 商品不存在处理
		if (!res.data.id) {
			plus.nativeUI.alert('此商品已不存在', function () {
				plus.webview.currentWebview().close();
			});
			return;
		}
		
		// 商品图片
		$('#product-image-slider').html(app.tpl('tpl-product-image', res));
		mui('.mui-slider').slider({interval:5000});
		// 商品名称
		$('.product-title').text(res.data.title);
		// 原价格
		$('.old-price del').text('￥' + res.data.goods_extend.goods_market_price / 100);
		// 当前价格
		$('.new-price a').text(res.data.goods_extend.goods_price / 100);
		// 商品详情
		$('.product-desc').html(res.data.content);
		// 商品规格
		$('.product-sku-holder').html(app.tpl('tpl-product-sku', res));
		// 最新商品信息
		$('.holder-now-sku-pro').html(app.tpl('tpl-now-sku-pro', {'data':res.data.goods_extend}));
		$('body').scrollTop(0);
		
		//相关商品信息
		$('.related-list').html(app.tpl('tpl-related', res));
		
		var ary = res.data.goods_extend.goods_attr_val_ids.split(',');
		var grp = $('.sku-group');
		for (var i in ary) {
			$(grp).eq(i).find('.sku[data-id='+ary[i]+'] input').prop('checked', true);
		}
		
		setCollectStatus();
		getCommentLists();
	})
	;
}

function getCommentLists () {
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Goods/CommentNotSign/lists'),
		'data'     : {'page':1, 'nums':1, 'data':{'goods_id':_Data.id, 'type':''}},
	})
	.fail(function (res) {
		// 失败回调
		app.log('获取评论列表失败：', res);
		app.toast('获取评论列表失败');
	})
	.done(function (res) {
		// 成功回调
		app.log('评论数据：', res);
		
		//if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		//if (res.msg) { app.toast(res.msg); }
		
		$('.comment-list').prepend(app.tpl('tpl-comment', res));
	})
	;
}

function setCollectStatus () {
	var view = plus.webview.currentWebview();
	
	//plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Goods/Collection/checkCollection'),
		'data'     : {'token':app.store('token'), 'data':{'goods_id':view.extras.id}},
	})
	.fail(function (res) {
		// 失败回调
		//plus.nativeUI.closeWaiting();
		app.log('取得商品详情：', res);
	})
	.done(function (res) {
		// 成功回调
		//plus.nativeUI.closeWaiting();
		app.log('收藏状态：', res);
		
		if (500 == res.code) { /*app.toast('你还未登录');*/ return; }
		if (300 == res.code) { /*app.toast(res.msg);*/ return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		$('.btn-collect').removeClass('active').addClass('active');
	})
	;
}

// 选择不同的规格
$('body').delegate('.sku', 'tap', function (e) {
	e.stopPropagation();
	$(this).find('input[type=radio]').prop('checked', true);
	
	var view = plus.webview.currentWebview();
	var ary = [];
	$('.sku-group').each(function (idx, grp) {
		ary.push($(grp).find('.sku input:checked').val());
	});
	app.log({'token':app.store('token'), 'goods_id':view.extras.id, 'goods_attr_val_ids':ary.join(',')});
	plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Goods/Index/getSpec'),
		'data'     : {'token':app.store('token'), 'goods_id':view.extras.id, 'goods_attr_val_ids':ary.join(',')},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('取得商品详情：', res);
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('商品详情', res);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		// 最新商品信息
		$('.holder-now-sku-pro').html(app.tpl('tpl-now-sku-pro', res));
	})
	;
});

//弹窗出来
var mask = mui.createMask(function() {
	$(".tanchuang").animate({
		bottom: "-100%",
	});
});

// 关闭规格选择弹窗
$('body').delegate('.icon-iconcha', 'tap', function(e) {
	e.stopPropagation();
	$(".tanchuang").animate({
		bottom: "-100%",
	})
	mask.close();
});

// 打开规格选择弹窗
$(".select, .jiarugouwuche, .lijigoumai").on("tap", function() {
	$(".tanchuang").animate({
		bottom: "0",
	});
	mask.show();
});

// 选择规格后加入购物车
$('.btn-cart-now').on('tap', function () {
	if (!app.store('member')) {
		app.open('member.login.html'); return;
	}
	var view = plus.webview.currentWebview();
	var data = {
		'id'         : _Data.id,
		'quantity'   : $(".add-minus input").val(),
		'sku'        : [],
		'invitation' : ally.invitation,
	};
	$('.sku-group').each(function (idx, grp) {
		data.sku.push($(grp).find('.sku input:checked').val());
	});
	
	if (mui.os.wechat) {
		cart.add(data);
		mask.close();
	} else {
		plus.webview.getWebviewById('cart.html').evalJS('cart.add('+JSON.stringify(data)+')');	
	}
});
// 立即购买
$('.btn-buy-now').on('tap', function () {
	if (!app.store('member')) {
		app.open('member.login.html'); return;
	}
	var view = plus.webview.currentWebview();
	var data = {
		'ids'                : '',// 购物车ID
		'cart_ids'           : [],// 购物车ID
		'goods_id'           : _Data.id,// 商品ID
		'goods_attr_val_ids' : '',// 商品规格
		'goods_num'          : $(".add-minus input").val(), // 商品数量
		'invitation'         : ally.invitation,
	};
	var sku = [];
	$('.sku-group').each(function (idx, grp) {
		sku.push($(grp).find('.sku input:checked').val());
	});
	data.goods_attr_val_ids = sku.join(',');
	
	app.open('checkout.html', data);
});

//购买数量 增加
$(".add").on("tap", function(){
	var a = $(".add-minus input[type=text]").val();
	a++;
	$(".add-minus input").val(a);
});

//购买数量 减少
$(".minus").on("tap", function(){
	var a = $(".add-minus input[type=text]").val();
	a--;
	if(a<1){a=1}
	$(".add-minus input").val(a);
});

//判断数量是不是汉字 输完了把输入框的汉字变成1
$(".add-minus input[type=text]").on("change", function(){
	var a = $(".add-minus input[type=text]").val();
	var b = parseInt($('.now-sku-storage').attr('data-storage'), 10);
	if(isNaN(a)){
		a = 1;
		$(".add-minus input[type=text]").val(a);
	} else if (a < 0) {
		$(".add-minus input[type=text]").val(1);
	} else if (parseInt(a, 10) > b) {
		app.toast('最多只能输入'+b+'件');
		$(".add-minus input[type=text]").val(b);
	}
})

function report (id) {
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Goods/index/share'),
		'data'     : {'token':app.store('token'), 'data':{'goods_id':id}},
	})
	.fail(function (res) {
		// 失败回调
		app.log('上报失败：', res);
	})
	.done(function (res) {
		// 成功回调
		app.log('上报分享：', res);
	})
	;
}
// 分享
function _doShareMessage (share, ex) {
	var view = plus.webview.currentWebview();
	var member = app.store('member');
	var m = member ? ('&uid='+member.uid+'&invitation='+member.invitation) : '';
	var message = {
		'extra'   : {'scene': ex},
		'href'    : app.link.share + 'id=' + view.extras.id + m,
		'title'   : $('.product-title').text(),
		'content' : $('.product-title').text(),
	};
	if (~share.id.indexOf('weibo')) {
		message.content += "；体验地址：" + message.href;
	}
	message.thumbs = ["../images/logo.png"];
	share.send(message, function() {
		report(view.extras.id);
		
		app.log('分享到"' + share.description + '"成功！ ');
		app.toast('分享成功');
	}, function(e) {
		app.log('分享失败：', e);
		app.toast('分享失败');
	});
}
// 分享商品
$('.btn-share').on('tap', function () {
	var view = plus.webview.currentWebview();
	var member = app.store('member');

	if (!member || '9' != member.micro_distribution) {
		// 用户是否能够进行微分销,1:未申请,2:申请中,3申请被拒绝,9:申请通过
		app.toast('加入分销后分享可得佣金');
	}

	var m = member ? ('&uid='+member.uid+'&invitation='+member.invitation) : '';
	app.wxShare({
  	title: $('.product-title').text(),
  	desc: $('.product-title').text(),
  	link: app.link.ally + '?id=' + view.extras.id + m,
  	imgUrl: $('#product-image-slider img:first').attr('src'),
  	type:'link',
  	dataUrl: ''
  });
});

// 收藏商品
$('.btn-collect').on('tap', function () {
	var dom = this, data = {'token':app.store('token'), data:{'goods_id':_Data.id, 'goods_ids':_Data.id}};
	app.log('收藏商品：', data);
	plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url($(dom).hasClass('active') ? 'App/Goods/Collection/delCollection' : 'App/Goods/Collection/collection'),
		'data'     : data,
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.toast('收藏商品失败')
		app.log('收藏商品失败：', res);
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('收藏结果：', res);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		$(dom).toggleClass('active');
	})
	;
});

// 去查看所有商品评论
$('body').delegate('.btn-view-comment', 'tap', function () {
	app.open('product.comment.html', {'id':_Data.id})
});

// 查看相关商品
$('body').delegate('.related-product', 'tap', function () {
	page.init({'id':$(this).attr('data-id')});
});
 
//点击图片 图片放大 轮播
mui.previewImage();

mui.plusReady(function () {
	var view = plus.webview.currentWebview();
	// 分销数据
	ally = view.extras.share || {};
	
	page.init(view.extras);
});

})(mui, $);
